什么是图神经网络（GNN）？
    GNN的全称是 Graph Neural Network，即图神经网络。
图神经网络的基本原理
    GNN是利用图结构中的节点和边的信息通过神经网络来学习节点火兔的嵌入，这种嵌入表示可以用于各种任务，如节点分类、链接预测、图分类等。GNN的核心思想是通过聚合节点的邻居信息来更新节点的表示，从而捕捉图结构的特征。

2.1 GNN的基本概念
    图卷积：如何在图中进行卷积操作。
        图卷积是将卷积操作从传统网格数据（如图像）扩展到图数据的一种方法。传统卷积神经网络（CNN）通过在网格数据上滑动卷积核来提取局部特征，而图卷积则是通过在图的节点及其邻域上进行类似的操作来提取节点特征。
        图卷积操作：在图卷积中，节点的特征是通过聚合其邻居节点的特征来更新的。具体来说，图卷积的操作步骤通常包括：
        特征聚合：对于每个节点，首先聚合其邻居节点的特征。常用的聚合函数包括求和、平均、加权平均等。
        特征更新：将聚合后的邻域信息与节点自身的特征结合，进行线性变换（通过全连接层）和非线性激活（如ReLU）。
        图卷积的公式： 设𝐻(𝑙)H (l)为第 𝑙l层的节点特征矩阵，𝐴^A^  为归一化的邻接矩阵，𝑊(𝑙)W (l)  为第 𝑙l 层的可学习权重矩阵，图卷积的更新规则为：𝐻(𝑙+1)=𝜎(𝐴^𝐻(𝑙)𝑊(𝑙))H (l+1) =σ( A^ H (l) W (l) )其中 𝜎σ 是激活函数（如ReLU）。
    邻域聚合：如何利用邻居节点的信息更新节点表示。
        邻域聚合是图卷积的核心思想之一，指的是通过聚合节点的邻居节点信息来更新节点的表示。主要步骤包括：
        邻居节点特征汇聚：对于每个节点，收集其所有邻居节点的特征。常见的汇聚方法包括：
        求和：将所有邻居节点的特征进行求和。
        平均：对邻居节点的特征进行平均。
        加权平均：使用权重对邻居节点的特征进行加权平均，权重可以是学习到的参数或基于节点之间的关系计算得出。
        特征融合：将汇聚后的邻域信息与节点本身的特征进行融合。通常，融合后的特征会通过一个全连接层进行线性变换，再应用激活函数进行非线性变换。
    消息传递机制：节点之间如何传递信息。
        消息传递机制是图神经网络中的一个重要组件，它定义了节点如何通过图结构传递和接收信息。消息传递通常包括以下步骤：
        消息生成：每个节点生成一个消息，这个消息可以是节点特征的某种变换，通常是通过一个神经网络层生成的。
        消息聚合：节点的消息被传递到其邻居节点，并被这些邻居节点聚合。聚合函数可以是求和、平均、最大等。
        消息更新：每个节点接收到的消息用于更新其特征表示。这个过程通常包括将消息与节点自身的特征结合，进行线性变换和非线性激活
    图的同构：如何处理图的同构性问题。
        图同构问题指的是如何处理具有相同结构的图，但节点或边的标签可能不同的情况。在图神经网络中，处理图同构性的问题主要涉及以下几个方面：
        同构图的特征提取：在同构图中，节点之间的结构关系是相同的，但节点的特征可能不同。GNN需要能够识别这些图的相同结构，并利用相同的模型参数来处理这些图。
        图同构网络（GIN）：图同构网络是为了解决图同构性问题而提出的一种GNN模型。GIN通过设计特殊的聚合函数（如全连接层）来捕捉图的同构信息。具体地，GIN使用了一个多层感知机（MLP）作为聚合函数，能够更好地学习和区分不同的图同构结构。
        同构性验证：在一些任务中，可能需要验证两个图是否同构。此类任务可以通过图的同构性测试算法（如VF2算法）来实现，但在GNN中，通常通过模型训练来学习图的同构特征，而不是直接进行同构性测试